package user.linhatelefonica;

import java.util.List;

import server.CentralTelefonica;
import server.Roteador;
import structure.Grafo;
import user.Assinante;

import commons.Acao;
import commons.Transmissao;

public class LinhaTelefonica implements Transmissao {
    private String estado;
    private CentralTelefonica centralTelefonica;
    private List<Integer> listaCaminhoCentrais;
    
    public LinhaTelefonica(CentralTelefonica ct) {
        this.centralTelefonica = ct;
        this.estado = Roteador.Sinal.TOM_DISCAR.getNome();
    }
    
    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }
    
    public CentralTelefonica getCentralTelefonica() {
        return centralTelefonica;
    }
    
    public List<Integer> getListaCaminhoCentrais() {
        return listaCaminhoCentrais;
    }
    
    public void setListaCaminhoCentrais(List<Integer> listaCaminhoCentrais) {
        this.listaCaminhoCentrais = listaCaminhoCentrais;
    }
    
    @Override
    public String transmitirRequisicao(Acao acao, Grafo grafo,
            List<CentralTelefonica> listaCentrais, Assinante assinanteA, 
            Assinante assinanteB) {
        return getCentralTelefonica().tratarRequisicao(acao, grafo,
                listaCentrais, assinanteA, assinanteB);
    }
}
